import jwt
import datetime
from django.conf import settings

# 设置一个key
key = settings.SECRET_KEY

class JWTTool:
    # 创建token
    #需要传递自己要添加的信息 比如过期时间 用户id
    #参数 user 值得是用户id
    def gettoken(self,user):
        # 设置过期时间
        exp = datetime.datetime.utcnow()+ datetime.timedelta(hours=1)
        # 生成载荷信息
        payload = {
            "user":user,
            "exp":exp
        }
        # 生成token
        token = jwt.encode(payload,key,algorithm='HS256')
        # 浏览器需要加以个Bearer
        return 'Bearer '+token

    # 解析token
    def parsejwt(self,token):
        # 分割token
        tokendata = token.split('')[1]
        # 验证token
        try:
            payload = jwt.decode(tokendata,key,algorithms=['HS256'])
        except jwt.InvalidTokenError as e:
            raise e

tool = JWTTool()




























